﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Capa_Entidad;

namespace Acceso_Datos.Clases_DAO
{
    public class clsAte_Atencion_RecetaDAO
    {
        private BDClinicaEntities ContextoDeObjs = new BDClinicaEntities();
        public bool Insertar(ATE_ATENCION_RECETA Obj)
        {
            try
            {
                ContextoDeObjs.AddObject("ATE_ATENCION_RECETA", Obj);
                ContextoDeObjs.SaveChanges();
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
        public List<ATE_ATENCION_RECETA> listar()
        {
            List<ATE_ATENCION_RECETA> lista = new List<ATE_ATENCION_RECETA>();
            try
            {
                var q = from c in ContextoDeObjs.ATE_ATENCION_RECETA
                        select c;
                lista = q.ToList();
                return lista;
            }
            catch (Exception)
            {
                lista = null;
            }
            return lista;
        }

        public bool InsertarDetalleReceta(ATE_DETALLE_RECETA Obj)
        {
            try
            {
                ContextoDeObjs.AddObject("ATE_DETALLE_RECETA", Obj);
                ContextoDeObjs.SaveChanges();
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
        public List<ATE_DETALLE_RECETA> listarDetalleReceta()
        {
            List<ATE_DETALLE_RECETA> lista = new List<ATE_DETALLE_RECETA>();
            try
            {
                var q = from c in ContextoDeObjs.ATE_DETALLE_RECETA
                        select c;
                lista = q.ToList();
                return lista;
            }
            catch (Exception)
            {
                lista = null;
            }
            return lista;
        }

        public int ObtenerIdUltimo()
        {
            int IdReceta = 0;
            try
            {

                var q = (from a in ContextoDeObjs.ATE_DETALLE_RECETA
                         select a.DER_ID_DETALLE).DefaultIfEmpty(0).Max();

                IdReceta = Convert.ToInt16(q) + 1;
                return IdReceta;
            }
            catch (Exception)
            {
                return IdReceta;

            }
        }

        public List<ATE_ATENCION_RECETA> listarPorCodAtencion(int idAtencion)
        {

            List<ATE_ATENCION_RECETA> lista = new List<ATE_ATENCION_RECETA>();
            try
            {
                var q = from c in ContextoDeObjs.ATE_ATENCION_RECETA
                        where c.ATE_ID_ATENCION == idAtencion
                        select c;
                lista = q.ToList();

            }
            catch (Exception)
            {

                lista = null;
            }
            return lista;
        }

        public List<V_DETALLE_RECETA> listarDetalleRecetaPorCodAtencion(int idAtencion)
        {

            List<V_DETALLE_RECETA> lista = new List<V_DETALLE_RECETA>();
            try
            {
                var q = from c in ContextoDeObjs.V_DETALLE_RECETA
                        where c.ATE_ID_ATENCION == idAtencion
                        select c;
                lista = q.ToList();

            }
            catch (Exception)
            {

                lista = null;
            }
            return lista;
        }
    }
}
